@echo off
echo ========================================
echo 抽象服务监听器功能测试脚本
echo ========================================

echo.
echo 测试步骤说明：
echo.
echo 1. 确保Nacos服务器已启动 (http://localhost:8848/nacos)
echo 2. 启动lobby服务：cd lobby && mvn spring-boot:run
echo 3. 启动gate服务：cd gate && mvn spring-boot:run
echo 4. 观察服务注册和监听日志
echo 5. 手动停止某个服务（Ctrl+C）
echo 6. 观察另一个服务的下线监听日志
echo.
echo 抽象监听器功能验证：
echo.
echo 1. 单服务监听（继承AbstractServiceChangeListener）：
echo    - lobby监听gate-service
echo    - gate监听lobby-service
echo    - 日志显示：收到Nacos服务变更事件
echo    - 日志显示：gate-service实例数量变化: 上次=1, 当前=0
echo.
echo 2. 多服务监听（使用MultiServiceChangeListener）：
echo    - 可以同时监听多个服务
echo    - 支持批量状态检查
echo    - 提供不可用服务列表
echo.
echo 3. 自定义处理逻辑：
echo    - 重写onServiceInstanceChange方法
echo    - 添加特定业务逻辑
echo    - 实现降级策略
echo.
echo 4. 扩展性验证：
echo    - 新增服务只需继承AbstractServiceChangeListener
echo    - 复用通用功能，减少重复代码
echo    - 统一的日志格式和异常处理
echo.
echo 预期日志示例：
echo.
echo 服务启动时：
echo - 收到Nacos服务变更事件: eventType=NacosDiscoveryInfoChangedEvent
echo - gate-service实例数量变化: 上次=0, 当前=1
echo - 当前可用gate-service实例: 192.168.1.100:9091
echo.
echo 服务下线时：
echo - 🚨 gate-service有1个实例下线！当前可用实例数: 0
echo - 🚨 gate-service实例下线: 192.168.1.100:9091
echo - ⚠️ 当前没有可用的gate-service实例！
echo.
echo 多服务监听：
echo - 多服务监听器处理完成: serviceName=gate-service, currentCount=0
echo - 多服务监听器处理完成: serviceName=lobby-service, currentCount=1
echo.
echo 测试完成！
pause 